package pyip.lib.javalearn.algorithm.sort;


/**
 * 简单选择排序<br>
 * 基本思想：在要排序的一组数中，选出最小的一个数与第一个位置的数交换；<br>
 * 然后在剩下的数当中再找最小的与第二个位置的数交换，如此循环到倒数第二个数和最后一个数比较为止。
 * @author yepeng
 * @date 2015年9月2日
 */
public class SimpleSelectionSort implements Sort {

    @Override
    public void sort(int[] arr, boolean asc) {
        if (arr == null || arr.length <= 1) {
            return;
        }
        int position = 0;
        for (int i = 0; i < arr.length; i++) {
            int j = i + 1;
            position = i;
            int temp = arr[i];
            for (; j < arr.length; j++) {
                if (arr[j] < temp) {
                    temp = arr[j];
                    position = j;
                }
            }
            arr[position] = arr[i];
            arr[i] = temp;
        }

    }

}
